package com.zenithmind.chat.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.zenithmind.common.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 私聊会话实体类
 * 
 * @author ZenithMind Team
 * @since 2025-01-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_private_session")
public class ChatPrivateSession extends BaseEntity {

    /**
     * 用户1的ID
     */
    private String user1Id;

    /**
     * 用户2的ID
     */
    private String user2Id;

    /**
     * 用户1的姓名
     */
    private String user1Name;

    /**
     * 用户2的姓名
     */
    private String user2Name;

    /**
     * 用户1的头像
     */
    private String user1Avatar;

    /**
     * 用户2的头像
     */
    private String user2Avatar;

    /**
     * 用户1的未读数
     */
    private Integer user1UnreadCount;

    /**
     * 用户2的未读数
     */
    private Integer user2UnreadCount;

    /**
     * 最后一条消息ID
     */
    private String lastMessageId;

    /**
     * 最后一条消息内容
     */
    private String lastMessageContent;

    /**
     * 最后一条消息时间
     */
    private LocalDateTime lastMessageTime;

    /**
     * 用户1是否置顶
     */
    private Integer user1IsTop;

    /**
     * 用户2是否置顶
     */
    private Integer user2IsTop;

    /**
     * 用户1是否免打扰
     */
    private Integer user1IsDisturbFree;

    /**
     * 用户2是否免打扰
     */
    private Integer user2IsDisturbFree;

    /**
     * 用户1的草稿
     */
    private String user1Draft;

    /**
     * 用户2的草稿
     */
    private String user2Draft;

    /**
     * 用户1的删除时间
     */
    private LocalDateTime user1DeleteTime;

    /**
     * 用户2的删除时间
     */
    private LocalDateTime user2DeleteTime;

    /**
     * 用户1是否已删除
     */
    private Integer user1IsDeleted;

    /**
     * 用户2是否已删除
     */
    private Integer user2IsDeleted;

    /**
     * 会话状态
     */
    private Integer status;
}
